package ar.edu.unq.persistencia.gpilla;

import java.util.ArrayList;
import java.util.List;

public class Jugador implements Nombrable {

    private List<Habilidad> habilidades;

    private String nombre;

    public Jugador(final String nombre) {
        super();
        this.nombre = nombre;
        this.habilidades = new ArrayList<Habilidad>();
    }

    @Override
    public String getNombre() {
        return this.nombre;
    }

    public void setNombre(final String nombre) {
        this.nombre = nombre;
    }

    public List<Habilidad> getHabilidades() {
        return this.habilidades;
    }

    public void setHabilidades(final List<Habilidad> habilidades) {
        this.habilidades = habilidades;
    }

    public int getValorHabilidad(final Posicion posicion) {
        int retValue = 0;
        for (Habilidad habilidad : this.habilidades) {
            if (((HabilidadImpl) habilidad).getPosicion().equals(posicion) && habilidad.getValor(posicion) > retValue) {
                retValue = habilidad.getValor(posicion);
            }
        }
        return retValue;
    }

    public void agregarHabilidad(final Posicion posicion, final int valor) {
        this.habilidades.add(new HabilidadImpl(posicion, valor));
    }

    public void addHabilidad(final HabilidadImpl habilidad) {
        this.habilidades.add(habilidad);
    }

}
